class Conta < ActiveRecord::Base
  before_save :reformar_dados
  before_update :reformar_dados

  belongs_to :regime_titularidade
  belongs_to :tipo_conta
  belongs_to :agencia_bancaria
  has_many :titulars

  validates_presence_of :numero, :digito_verificador, :data_abertura, :regime_titularidade, :tipo_conta, :agencia_bancaria
  validates_uniqueness_of :numero, :scope => :agencia_bancaria_id
  validates_length_of :numero, :in => 1..8, :message => "de tamanho excedido"
  validates_length_of :digito_verificador, :in => 1..2, :message => "de tamanho excedido"

  def reformar_dados
    self.numero.strip!
    self.numero.upcase!
    self.numero.squish!
    self.digito_verificador.strip!
    self.digito_verificador.upcase!
    self.digito_verificador.squish!
  end
end